#ifndef MANAGEWIDGET_H
#define MANAGEWIDGET_H

#include <QWidget>
#include <QMessageBox>
namespace Ui {
class ManageWidget;
}

/**
 * @brief 数据管理界面组件
 * @details 负责校园导航系统核心数据的增删改查操作，包含地点信息管理、路径维护等功能模块
 */
class ManageWidget : public QWidget
{
    Q_OBJECT

public:
    /**
     * @brief 构造函数初始化数据表格
     * @param parent 父组件指针
     */
    explicit ManageWidget(QWidget *parent = nullptr);

    /**
     * @brief 析构函数释放界面资源
     */
    ~ManageWidget();
protected:
    virtual void showEvent(QShowEvent *event);
    virtual void paintEvent(QPaintEvent *event);
private:
    void updateDisplay();


signals:
        /**
     * @brief 界面切换请求信号
     * @param widgetName 请求切换的目标界面名称
     */
    void sendDisWidget(QString widgetName);
private slots:
    void onHeaderClicked(int,int);
        /**
     * @brief 新增数据按钮槽函数
     * @details 打开数据录入界面并初始化输入字段
     */
    void on_pushButton_1_clicked();

        /**
     * @brief 删除数据按钮槽函数
     * @details 删除当前选中的数据记录并更新数据库
     */
    void on_pushButton_2_clicked();

        /**
     * @brief 修改数据按钮槽函数
     * @details 加载选中记录到编辑表单进行修改
     */
    void on_pushButton_3_clicked();

        /**
     * @brief 查询数据按钮槽函数
     * @details 根据输入条件过滤显示数据记录
     */
    void on_pushButton_4_clicked();

private:
        Ui::ManageWidget *ui; ///< 管理界面组件指针
    int selectrow;        ///< 当前选中数据行索引
};

#endif // MANAGEWIDGET_H
